﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "GmPositioningElements.h"
#include "ElementCreationOptions.h"
#include "OwnerPtr.h"
#include "Intervald.h"


namespace gcmp
{
    class IDocument;
    class ICurve2d;
    struct GM_POSITIONING_ELEMENTS_EXPORT GridNewInput
    {
        CANNOT_COPY_OR_ASSIGN(GridNewInput);
    public:
        GridNewInput() : Document(nullptr), verticalExtents(), Visible(true), CreationOption(ElementCreationOptions::Normal), GridNewName(L""), StartTagVisble(false), EndTagVisble(true) {}
        IDocument* Document;
        Intervald verticalExtents;
        std::vector<OwnerPtr<ICurve2d>> VecOpCurve;
        bool Visible;
        ElementCreationOptions CreationOption;
        std::wstring GridNewName;
        bool StartTagVisble;
        bool EndTagVisble;
    };
}


